/*!
 * Copyright 2010 - 2017 Hitachi Vantara.  All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */

define(['cdf/dashboard/Utils', 'cdf/components/TextComponent', './ParameterWidgetBuilderBase', 'common-ui/jquery-clean'],
    function (Utils, TextComponent, ParameterWidgetBuilderBase, $) {

      return ParameterWidgetBuilderBase.extend({
        build: function (args) {
          var widget = this.base(args);
          var name = widget.name + '-label';
          var label = Utils.escapeHtml(args.param.attributes['label'] || args.param.name);
          $.extend(widget, {
            promptType: 'label',
            name: name,
            htmlObject: name,
            type: 'TextComponent',
            expression: function () {
              return label;
            }
          });
          delete widget.parameter; // labels don't have parameters

          return new TextComponent(widget);
        }
      });
    });
